﻿namespace IOLib
{
    using System;
    using System.Runtime.InteropServices;

    [StructLayout(LayoutKind.Sequential, Size=1)]
    public struct Operator
    {
        public const string EmptyOperator = "$";
        public const string BooleanEqual = "≡";
        public const string BooleanNotEqual = "≠";
        public const string BooleanOr = "|";
        public const string BooleanXor = "\x00a4";
        public const string BooleanAnd = "&";
        public const string BooleanLess = "<";
        public const string BooleanMore = ">";
        public const string BooleanLessOrEqual = "≤";
        public const string BooleanMoreOrEqual = "≥";
        public const string BooleanNot = "~";
        public const string NumericEqual = "=";
        public const string SymbolicEqual = "—";
        public const string Definition = "←";
        public const string DefinitionOld = ":";
        public const string Composition = "+";
        public const string Substraction = "-";
        public const string Multiplication = "*";
        public const string Division = "/";
        public const string Exponentiation = "^";
        public const string MinusPlus = "%";
        public const string PlusMinus = "\x00b1";
        public const string VectorMultiplication = "†";
        public const string Factorial = "!";
        private static string[] array;
        public static string[] GetArray
        {
            get
            {
                if (array == null)
                {
                    array = new string[] { 
                        "$", "≡", "≠", "|", "\x00a4", "&", "<", ">", "≤", "≥", "~", "=", "—", "←", ":", "+", 
                        "-", "*", "/", "^", "%", "\x00b1", "†", "!"
                     };
                }
                return array;
            }
        }
        static Operator()
        {
        }
    }
}

